<?php
namespace app\filemanage\controller;

use think\Controller;
use think\Session;
use think\Db;
use think\Cookie;

class Common extends Controller
{
	/**
	 * 初始化方法，检查自动登录
	 */
    protected function _initialize()
    {	
    	if(!input('session.uid')) {
    		$userInfo = $this->_checkAutoLogin();
	    	if ($userInfo == false) {
	    		return $this->error('请先登录', 'login/index');
	    	} else {
	    		Session::set('uid', $userInfo['0']);
	    		Session::set('username', $userInfo['1']);
	    	}	
	    }
	    define('USER_ROOT_PATH', FILE_ROOT_PATH . 'file' . DS . Session::get('username') . DS);
    }

    /**
     * 通过cookie检查自动登录
     * @return array 部分用户信息
     */
    private function _checkAutoLogin(){
		if (input('?cookie.filemanageAutoLoginFlag')) {
			$flag = input('cookie.filemanageAutoLoginFlag');
			$info = autoLoginFlagDecode($flag);
			if (count($info) == 4) {
				if ($info[2] > time() && $info[3] == WEBKEY) {
					$map['username'] = $info['0'];
					$map['password'] = $info['1'];
					$id = DB::name('user')->field('id')->where($map)->find();
	    			if ($id != false) {
	    				return [$id['id'], $info['0']];
	    			}
				}
			}
		}
    	return false;
    }
}


